Vers une interpolation de la température avec la Régression Linéaire Multiple

loic.davadan@agro-bordeaux.fr

23 July, 2018

1. Objectifs

  • Spatialiser des données de températures prédites à l’aide de la Régression Linéaire Multiple en vue d’une comparaison avec d’autres méthodes statistiques (krigeage, réseaux neuronaux…) pour évaluer la meilleure méthode.

  • Intégrer des variables explicatives et trouver la meilleure combinaison de ces variables fournissant des prédictions avec une RMSE faible.

2. Travaux réalisés

Préparation de l’environnement de travail

  • Installation de Linux : Open-source, science reproductible

  • Utilisation de Docker : Environnement de travail isolé avec configuration différente de l’ordinateur hôte. Assure la reproductibilité du code

  • Utilisation de GitHub : Service de gestion de versions -> Travail collaboratif

2.1 Récolte des données

2.1.1. Variables explicatives

2.1.1.1 Variables statiques

Données d’occupation du sol (CORINE Land Cover)

Sources : Copernicus et Géoportail belge

  • Stations en zones agricoles mais environnement à caractériser (route en asphalte à proximité ? forêt faisant de l’ombre ?)

  • 47 classes dont 26 présentes en Wallonie -> regroupement en 5 classes : Zones artificielles, Zones de cultures, Zones herbacées, Forêt et Plans d’eau

  • Récupération des données aux stations : zones tampons (100m autour des stations physiques et 500m pour les stations virtuelles) et calcul de la part de chaque classe dans l’environnement de la station

##        sid Agricultural areas Herbaceous vegetation    Forest
## 1     vs_1          53.715238             44.050842  0.000000
## 2    vs_10           9.880474             55.039849 33.858245
## 3   vs_100          74.292621             23.349854  1.167155
## 4  vs_1000           0.000000              0.000000 99.995888
## 5 vs_10000          15.540447              3.680151  0.000000
## 6 vs_10001           9.923178             48.652962  5.173979
##   Artificials surfaces Water
## 1             0.000000     0
## 2             1.217319     0
## 3             1.186258     0
## 4             0.000000     0
## 5            80.775290     0
## 6            36.245769     0

Part de chaque classe autour de chaque station virtuelle

Récupération des données aux stations virtuelles avec buffers Récupération des données aux stations virtuelles avec buffers

Modèle Numérique de Terrain

Source : SRTM

  • Caractériser l’effet de la topographie du milieu sur la température

  • Données d’altitude (résolution 90m) puis calcul de la pente, l’orientation et la rugosité du terrain avec R

  • Données très volumineuses = Temps de calcul important

2.1.1.2. Variables dynamiques

Source : API ensoleillement

  • Caractériser l’impact du rayonnement solaire (W/m²) sur la température

  • Rayonnement solaire : données EUMETSAT récupérées sur une API

  • Données horaires, 875 points répartis sur la Wallonie -> insuffisant pour la précision souhaitée d’1 km² (~ 17000 points)

  • Spatialisation des données solaires à l’aide d’une méthode de krigeage (interpolation linéaire)

  • Récupération des données d’ensoleillement des stations PAMESEB en parallèle

2.1.2. Variables d’intérêt

Source : API AGROMET

  • Besoin de données pour construire les modèles et comparer les outputs à la réalité

  • 29 stations du réseau PAMESEB

  • Accès à des données dynamiques horaires : température, humidité relative, humectation du feuillage

  • 27 stations utilisables si on prend l’ensoleillement

2.2. Organisation des données

Objectif : construire des modèles pour chaque heure

Regroupement des données statiques et dynamiques de chaque station.

Pour optimiser le temps de calcul et l’intégration dans mlr, création d’un “nested data frame” : chaque heure contient un ou plusieurs tableaux de données

2.3. Modélisation

2.3.1. Machine learning

Définition : Le Machine Learning est un concept stipulant qu’il existe des algorithmes génériques pouvant nous révéler des informations intéressantes sur des données, sans avoir besoin de construire ou de développer un code spécifique. Au lieu d’écrire du code, vous nourrissez donc ces algorithmes avec des données qui leur permettront de construire leurs propres logiques.

Objectif : Réaliser un benchmark appliquant la Régression Linéaire Multiple à différentes combinaisons de variables explicatives et au paramètre ciblé en utilisant une stratégie de rééchantillonage par validation croisée (LOOCV).

2.3.2. Machine Learning in R

[mlr](

) : package R proposant une interface simplifiée et commune pour toutes les méthodes statistiques à intégrer dans le machine learning.

Paramètres à définir pour la modélisation :

  • Le paramètre ciblé : Température

  • Les méthodes statistiques d’apprentissage : Régression linéaire multiple

  • Les variables explicatives à comparer : MNT, occupation du sol, ensoleillement

  • La méthode de rééchantillonage : validation croisée par Leave-One-Out

3. Résultats

3.1. Visualisation du modèle

  • Graphiques des résultats du benchmark

  • Equation de régression des modèles et leurs coefficients

  • Cartes : Statiques ou interactives (leaflet) & Visualisation des prédictions pour une heure donnée mais aussi de l’erreur relative

  • Création d’une couche contenant les prédictions, visualisée avec une palette de couleur

  • Création d’une couche contenant l’erreur associée à chaque prédiction avec un niveau de transparence variable (couche blanche avec opacité plus importante si l’erreur est élevée)

3.2. Premiers résultats

Output pour une heure après modélisation (benchmark réalisé sur 2 mois)

Output avec pour combinaison de variables ensoleillement + meilleure variable explicative (corrélation linéaire), erreur en niveaux de transparence

(inspiré par Visual Representations of Data Uncertainty et Transparency and Alpha levels for ggplot2)

Comparaison des modèles construits à partir de l’altitude et/ou de l’ensoleillement

4. Perspectives et conclusions

La démarche est définie et prête pour créer les modèles.

Prochains objectifs :

  • Créer les modèles à partir de 5 ans de données

  • Identifier la meilleure combinaison de variables explicatives

  • Appliquer cette combinaison à la grille d’interpolation

  • Créer une Shiny app pour la visualisation des données